Memik Yan²k
Yeni Ba■layanlar ▌τin Microsoft Access - 3
Bu yaz²da Access hakk²nda verilen bilgileri ilk okumada anlayabilmeniz iτin Access ⁿzerinde daha ÷nce yay²nlam²■ oldu≡umuz iki yaz²y² okumu■ olman²z ÷nerilir. Daha ÷nce yay²nlanan iki yaz²da ÷rnek olmas² iτin ÷nce "Cari" ad²nda bir veri taban² dosyas² haz²rlam²■t²k. Ard²ndan Cari Kartlar ve Cari ▌■lemler ad²nda iki tablo haz²rlam²■ bu veri taban² dosyas²na dahil etmi■tik.
Kullanmak istedi≡imiz tablolar² haz²rlay²p veri taban² dosyas²na dahil ettikten sonra bilgi giri■ formu ve bir sorgu haz²rlam²■t²k. Bu ayki yaz²da ise size Raporlar²n nas²l haz²rland²≡² ve AccessÆte makrolar²n nas²l kullan²ld²≡² konusunda bilgi verece≡iz.
Rapor Haz²rlamak
Yeni bir rapor haz²rlamak iτin ilk yap²lmas² gereken i■lem veri taban² dosyas² penceresinde Raporlar sekmesini seτili duruma getirmektir. A■a≡²da verilen ekran g÷rⁿntⁿsⁿnⁿ ald²≡²m²z s²rada ⁿzerinde τal²■t²≡²m²z veri taban² dosyas²na dahil edilmi■ olan rapor yoktu.
Raporlar sekmesi seτili durumda iken Yeni dⁿ≡mesine t²klarsan²z ekrana rapor haz²rlama tekni≡inin seτildi≡i Yeni Rapor diyalog kutusu gelir. A■a≡²da verilen ekran g÷rⁿntⁿsⁿne g÷re Access rapor haz²rlama konusunda size τok say²da teknik sunmaktad²r. Rapor haz²rlamada kullan²lmak ⁿzere Access ile birlikte verilen Otomatik Rapor sihirbaz² ile rapor haz²rlamak τok kolayd²r.
▐imdi ÷rnek olmas² iτin daha ÷nce haz²rlay²p kay²t girdi≡imiz Cari ▌■lemler tablosunu temel alan bir raporu Otomatik Rapor:Sekmeli ad²ndaki sihirbazdan yararlanarak haz²rlayaca≡²z. Bu amaτla Yeni Rapor diyalog kutusunda rapora temel olu■turacak tabloyu ve Otomatik Rapor sihirbaz²n² seτtik. Otomatik Rapor sihirbaz²n²n Sⁿtunlu ve Sekmeli ad²nda iki ayr² tipi bulunmaktad²r. Yeni Rapor diyalog kutusunda tablo ve Otomatik Rapor sihirbaz²n² seτip Tamam dⁿ≡mesinde t²klama yaparsan²z Access sizden herhangi bir katk² istemeden k²sa sⁿrede raporu haz²rlay²p ekrana getirir.
Otomatik Rapor sihirbaz² ile bu ■ekilde haz²rlad²≡²n²z raporu ileride tekrar kullanmak istiyorsan²z, bu raporu veri taban² dosyas²na kaydetmeniz gerekir. Bunun iτin Dosya menⁿsⁿndeki Kaydet komutunu kullanabilirsiniz. Otomatik Rapor sihirbaz² ile rapor haz²rlamak fazla zaman almad²≡² iτin bu raporu kaydetmeyebilirsiniz. Yukar²da verilen ekran g÷rⁿntⁿsⁿnⁿ ald²≡²m²z zaman, rapor zoom yap²ld²≡² iτin ayn² anda bir rapor sayfas²n²n tⁿmⁿ Rapor penceresinde g÷rⁿlmemektedir. E≡er raporun tam bir sayfas²n² ayn² anda ekranda g÷rmek istiyorsan²z rapor penceresi iτinde tek t²klama yapman²z yeterlidir. Rapor penceresinin en alt sat²r²nda bulunan dⁿ≡meler ile raporun sayfalar² aras²nda dola■abilirsiniz. Otomatik Rapor sihirbaz² ile bu ■ekilde haz²rlad²≡²n²z raporu ileride tekrar kullanmak istiyorsan²z raporu veri taban² dosyas²na kaydetmeniz gerekir. Bunun iτin Dosya menⁿsⁿndeki Kaydet komutunu kullanabilirsiniz. ▄zerinde τal²■t²≡²n²z veri taban² dosyas²na ait pencerede raporlar listenirken Dosya menⁿsⁿnden Yazd²r komutunu vererek istedi≡iniz raporu yazd²-rabilirsiniz. Print komutunu vermeden ÷nce yazd²rmak istedi≡iniz raporu seτili duruma getirmeniz gerekir. Dosya menⁿsⁿnden Yazd²r komutu verildi≡i zaman ekrana Yazd²r diyalog kutusu gelmektedir.
Makro Haz²rlamak
Di≡er programlarda oldu≡u gibi Access makro kullan²m²n² desteklemektedir. Ancak AccessÆte makro kullan²m² sⁿrekli tekrarlanan i■lem-leri kolayla■t²rmaktan τok daha i■levseldir. Ayr²ca AccessÆi bir program geli■tirme arac² olarak kullanmak mⁿmkⁿndⁿr. Makrolar sayesinde basit i■lemler iτin AccessÆin program geli■tirme ÷zelliklerine gerek duymayabilirsiniz. Makrolar veri taban² dosyalar²na ÷zgⁿ oldu≡u iτin hangi dosya iτin makro haz²rlamak istiyorsan²z ÷nce o veri taban² dosyas²n² aτman²z gerekir. Ard²ndan aτt²≡²n²z veri taban² dosyas²na ait pencerede Makrolar sekmesinde t²klama yaparak mevcut makrolar²n pencere iτinde listelenmesini sa≡lamal²s²n²z. A■a≡²da verilen ekran g÷rⁿntⁿsⁿnⁿ ald²≡²m²z s²rada ⁿzerinde τal²■t²≡²m²z veri taban² dosyas² iτin haz²rlam²■ oldu≡umuz herhangi bir makro yoktu.
Yeni bir makro haz²rlamak ⁿzere Yeni dⁿ≡mesinde t²klama yaparsan²z, makro haz²rlanan bir pencere ekrana gelir. Makro haz²rlanan pencere aktif pencere durumunda iken, daha ÷nceden engelleme yap²lmad²ysa, Access pence-resine otomatik olarak Makro ad²ndaki araτ τubu≡u getirilmektedir. A■a≡²da verilen ekran g÷rⁿntⁿsⁿnⁿ yeni bir makro haz²rlamak ⁿzere Yeni dⁿ≡mesinde t²klama yapt²ktan hemen sonra ald²k.
Verilen ekran g÷rⁿntⁿsⁿnden tespit edebilece≡iniz gibi pencerenin ⁿst k²sm²nda Eylem ve Aτ²klama ad²nda iki sⁿtun bulunmaktad²r. Makrolar yard²m² ile yap²lmak istenen i■lemler Makro Eylemleri arac²l²≡² ile yap²lmaktad²r. Access dahilinde kullan²ma sunulan τok say²da eylem vard²r. Makro haz²rlama ile ilgili olarak ilk yap²lmas² gereken i■lem, yap²lmak istenen i■leme uygun bir Eylem seτmektir. Bu nedenle Yeni dⁿ≡mesinde t²klama yap²-l²p makrolar²n haz²rland²≡² pencere ekrana geldi≡inde ekleme noktas² Eylem sⁿtunundaki ilk hⁿcrede haz²r olarak beklemektedir. Ekleme noktas² Eylem sⁿtununda bulunan hⁿcrelerin ⁿzerinde iken hⁿcreye otomatik olarak bir liste kutusu konulmaktad²r. Bu liste kutusu aτ²larak Access dahilinde kullan²ma sunulan bⁿtⁿn eylemler g÷rⁿlebilir. A■a≡²da verilen ekran g÷rⁿntⁿsⁿnⁿ bu liste kutusunu aτt²ktan sonra ald²k.
Aτ²klama sⁿtununa ise seτilen makro eylemi veya yap²lacak i■lem hakk²nda iste≡e ba≡l² olarak aτ²klay²c² bilgi yaz²lmaktad²r. ▐imdi ÷rnek olmas² iτin basit bir makro haz²rlayaca≡²z. Bu makro τal²■t²r²ld²≡²nda ⁿzerinde τal²■t²≡²m²z Cari adl² veri taban² dosyas²ndaki Cari Kartlar tablosu aτ²lacak. Veri taban² dosyas²ndan tablo aτmada kullan²lan eylemin ad² TabloAτ. Bu nedenle eylem listesinden TabloAτ eylemini seτiyoruz.
Daha ÷nce herhangi bir programlama dili ile program yazm²■ olan-lar²n bilece≡i gibi her deyim veya fonksiyon yapt²≡² i■lemlere ba≡l² olarak d²■ar²dan de≡i■ik say²da parametre veya bilgi almaktad²r. Ayn² durum AccessÆin makro eylemleri iτin de geτerlidir. Bu nedenle seτilen eyleme ba≡l² olarak, eylemin alabildi≡i her parametre iτin Makro penceresinin alt k²sm²nda birer metin kutusu haz²rlanmaktad²r. TabloAτ eylemi d²■ar²dan Tablo Ad², G÷rⁿnⁿm ve Veri Kipi ad²nda 3 parametre almaktad²r. ▌lk parametrede aτ²lacak tablonun ad² belirlenmektedir. Ekleme noktas² F6 tu■u veya fare ile Tablo Ad² metin kutusuna g÷tⁿrⁿldⁿ≡ⁿnde metin kutusunun sonuna bir liste kutusu eklenmektedir. E≡er TabloAτ eylemi ile aτaca≡²n²z tablonun ad²n² ezbere bilmiyorsan²z bu liste kutusunu aτ²p istedi≡iniz tabloyu seτe-bilirsiniz. A■a≡²da verilen ekran g÷rⁿntⁿsⁿnⁿ Tablo Ad² liste kutusunu aτt²k-tan sonra ald²k. Liste kutusunda ⁿzerinde τal²■²lan veri taban² dosya-s²nda bulunan bⁿtⁿn tablolar listelenmektedir.
Bu liste kutusundan aτ²lacak tablo seτildikten sonra s²ra G÷rⁿnⁿm paramet-resine aktar²lacak de≡ere gelir. G÷rⁿnⁿm parametresi Veri Sayfas², Tasar²m veya Bask² ╓nizleme de≡erlerinden birini alabilmektedir. E≡er Veri Sayfas² seτilirse, tablo aτ²l²r aτ²lmaz tablodaki kay²tlar al²■t²≡²m²z ■ekilde ekrana getirilir. Tabloyu aτmadaki amac²n²z tablonun yap²s²nda de≡i-■iklik yapmaksa, bu kez G÷rⁿnⁿm parametresine Tasar²m de≡eri aktar²l²r. Bask² ╓nizleme ile tablonun yazd²r²lmas² halinde ka≡²t ⁿzerinde nas²l duraca≡² g÷ste-rilmektedir.
TabloAτ eyleminin ald²≡² son parametre olan Veri Kipi ile tablo ⁿzerinde ne gibi i■lemlerin yap²laca≡² konusunda seτim yap²lmaktad²r. E≡er tabloyu yaln²zca incelemek ⁿzere aτacaksan²z Salt Okunur, tablonun kay²tlar²nda veya yap²s²nda de≡i■iklik yapacaksan²z Dⁿzenle ve tabloya yeni kay²tlar yazacaksan²z Ekle modunu seτebilirsiniz.
Bu ■ekilde TabloAτ eyleminin gerek duydu≡u bⁿtⁿn bilgiler verildikten sonra ⁿzerinde τal²■t²≡²m²z veri taban² dosyas²ndaki Cari Kartlar tablosunu aτacak olan makronun haz²rlanmas² i■lemi tamamlanm²■ oldu. Haz²rlanan bu makroyu daha sonradan kullanabilmek iτin makronun veri taban² dosyas²na kaydedilmesi gerekir. Haz²rlad²≡²n²z makroyu kaydetmek iτin Dosya menⁿsⁿnden Kaydet komutunu verirseniz makroya ad verilen Farkl² Kaydet diyalog kutusu ekrana gelir. ╓rnek olmas² iτin haz²rlad²≡²m²z bu makroya Tablo Aτ ad²n² verdik.
Makroyu kaydettikten sonra makro penceresini kapatabilirsiniz. Makro penceresini kapat²p tekrar veri taban² dosyas²na ait pencereyi aktif pencere yapt²≡²n²zda haz²rlad²≡²n²z makroyu pencerede g÷rebilirsiniz.
Veri taban² dosyas² penceresi iτinde mevcut makrolardan biri seτili durumda iken Aτ dⁿ≡mesi yerini ╟al²■t²r dⁿ≡mesine b²rak²r. Bu s²rada ╟al²■t²r dⁿ≡mesine t²klarsan²z seτili durumdaki makro i■letilir. ▐imdi bu makroda bir de≡i■iklik yapaca≡²z. Bu de≡i■ikli≡e g÷re TabloAτ eylemi ile tabloyu aτmadan ÷nce ekrana bir diyalog kutusu iτinde belirtilen tablonun aτ²laca≡² konusunda ekrana mesaj verece≡iz. Pratik de≡eri olmayan bu de≡i■ikli≡i sadece ÷rnek te■kil etmesi iτin veriyoruz. Ekrana mesaj vermek iτin ▌letiKutusu eylemi kullan²lmaktad²r. Daha ÷nce haz²rlan²p veri taban² dosyas²na dahil edilen bir makroda de≡i■iklik yapmak iτin, de≡i■tirilecek makro seτili duruma getirildikten sonra Tasarla dⁿ≡mesine t²klan²r. A■a≡²da verilen ekran g÷rⁿntⁿsⁿnⁿ Tasarla dⁿ≡mesine t²klad²ktan hemen sonra ald²k.
TabloAτ eylemi ile belirtilen tabloyu aτmadan ÷nce ekrana ▌letiKutusu eylemi ile mesaj vermek istedi≡im iτin, makroya ait penceredeki Eylem sⁿtununda ilk ÷nce ▌letiKutusu eylemi olmal²d²r. TabloAτ eyleminden ÷nce ▌letiKutusu eylemini yazabilmek veya TabloAτ eylemini bir sonraki sat²ra atmak iτin Ekle menⁿsⁿndeki Sat²r komutun-dan yararlan²l²r.
Ekle menⁿsⁿnden Sat²r komutunun verildi≡i s²rada ekleme noktas²n²n ⁿzerinde bulundu≡u sat²r²n alt²ndaki bⁿtⁿn sat²rlar bir sat²r a■a≡²ya kayd²r²l²r. A■a≡²da verilen ekran g÷rⁿntⁿsⁿnⁿ Ekle menⁿsⁿnden Sat²r komutunu verdikten hemen sonra ald²k.
Ekle menⁿsⁿndeki Sat²r komutu ile haz²rlanan bu bo■ sat²ra istenen Access eylemi yaz²labi-lir. Bu ÷rnekte TabloAτ eyleminden ÷nce ekrana ▌letiKutusu eylemi ile mesaj vermek istedi≡imiz iτin bu bo■ sat²ra ▌letiKutusu eylemini yazd²k. Eylemin ad²n² do≡rudan yazmak yerine bⁿtⁿn eylemlerin listelendi≡i liste kutusunu aτ²p seτim yapabilirsiniz. ▌letiKutusu eylemin ad²n²n yaz²m² tamamlan²nca, makro penceresinin alt k²sm²nda ▌letiKutusu eylemi ile verilecek mesaj²n ve ekrana getirilecek diyalog kutusu ba■l²≡²n²n belirlendi≡i 4 metin kutusu haz²rlan²r.
▌letiKutusu eylemi ile diyalog kutusu arac²l²≡² ile ekrana getirilmek istenen mesaj ▌leti parametresine ait metin kutusuna yaz²l²r. A■a≡²da verilen ekran g÷rⁿntⁿ-sⁿnⁿ ▌leti metin kutusuna ▌letiKutusu eylemi ile ekrana getirilecek diyalog kutusunun kapat²lmas²ndan hemen sonra i■letilecek TabloAτ eyleminin i■levi ile ilgili bir mesaj yazd²ktan sonra ald²k.
▌leti parametresine ait metin kutusuna mesaj² yaz²p makroyu son ■ekli ile veri taban² dosyas²na kaydedip τal²■t²r²nca, a■a≡²daki gibi bir diyalog kutusu ekrana geldi.
E≡er ▌letiKutusu eylemi ile ekrana getirdi≡iniz mesajdan ÷nce ⁿnlem i■aretinin olmas²n² istiyorsan²z, makro penceresinin alt k²sm²nda ▌letiKutusu eylemine ait Tⁿr parametresine Uyar²! de≡erini aktarmal²s²n²z. A■a≡²da verilen ekran g÷rⁿntⁿsⁿnden tespit edebilece≡iniz gibi Type parametresine aktar²labilecek toplam 5 de≡er var.
Tablo Aτ makrosunda kullan²lan ▌letiKutusu eylemin Tⁿr parametresine Uyar²! de≡eri aktar²l²p makro en sonra hali ile τal²■t²r²ld²≡²nda ekrana Cari Kartlar tablosunun aτ²laca≡²n² bildiren a■a≡²daki gibi bir diyalog kutusu gelir.
E≡er ▌letiKutusu eyleminin Tⁿr parametresine Bilgi de≡eri aktar²lm²■ olunsayd² diyalog kutusu a■a≡²daki gibi olurdu.
Verilen ekran g÷rⁿntⁿlerden tespit edebilece≡iniz gibi Access varsay²m olarak ▌letiKutusu eylemi ile ekrana getirilen diyalog kutular²nda "Microsoft Access" ba■l²≡²n² kullanmaktad²r. E≡er ▌letiKutusu eylemi ile ekrana getirilen diyalog kutusuna farkl² bir ba■l²≡²n verilmesini istiyorsan²z, ▌letiKutusu eyleminin Ba■l²k parametresine ait metin kutusuna ba■l²k olarak kullan²lmak ⁿzere istedi≡iniz bilgiyi girebilirsiniz.
Bu de≡i■iklikten sonra Dosya Aτ makrosu tekrar kaydedilip τal²■t²r²l²rsa ekrana gelecek diyalog kutusu a■a≡²daki gibi olur.
▐imdi size Access kaynakl² bir diyalog kutu-sunun ekran g÷rⁿntⁿsⁿnⁿ verece≡iz. Access bu diyalog kutu-sunu ⁿzerinde τal²■²lan tablo, rapor veya sorgu kaydedilmeden kapat²lmak istendi≡i zaman ekrana getirmektedir.
Bu diyalog kutusundaki Evet dⁿ≡mesinde t²kland²≡²nda, tablonun son hali kaydedildikten sonra tablo kapat²lmaktad²r. Hay²r dⁿ≡mesinde t²kland²≡²nda ise tablonun son hali kaydedilmeden kapat²l²r. Ne var ki AccessÆin ▌letiKutusu eylemi ile ekrana getirilen diya-log kutusunda kullan²c²ya seτim yapma ■ans² verilemiyor. ▌letiKutusu eylemi ekrana diyalog kutusu iτinde mesaj vermekten ÷te bir i■leve sahip de≡ildir. Ancak AccessÆin MsgBox() ad²nda haz²r bir fonksiyonu bulunmaktad²r.
▐imdi yukar²da verdi≡imiz ve ▌letiKutusu eyleminden ba■ka yaln²zca TabloAτ eylemini iτeren makroda de≡i■iklik yapaca≡²z. Bu de≡i■iklikten sonra makro τal²■t²r²ld²≡²nda, bir diyalog kutusu iτinde kullan²c²ya s÷z konusu tabloyu aτmak isteyip etmedi≡i sorulacak. Ayr²ca diyalog kutusunda Evet ve Hay²r ad²nda iki dⁿ≡me olacak. Kullan²c² Evet dⁿ≡mesinde t²klama yapt²≡²nda belirtilen tablo, TabloAτ eylemi ile aτ²lacak, Hay²r dⁿ≡mesinde t²klama yap²ld²≡²nda ise tablo aτ²lmayacak. Ba■ka bir deyi■le TabloAτ eylemi iτin MsgBox() fonksiyonu iτin bir ko■ul haz²rlayaca≡²z. MsgBox() fonksiyonu hakk²nda bilgi vermeden size makronun belirtilen ■ekilde de≡i■tirilmi■ halinin ekran g÷rⁿntⁿsⁿnⁿ verece≡iz.
Bu ekran g÷rⁿntⁿsⁿnde ■imdiye kadar makrolar ile ilgili olarak verilen ekran g÷rⁿntⁿlerinden farkl² olarak Ko■ul ad²nda bir sⁿtun var. Bu sⁿtuna makro eylemi belirli bir ko■ula ba≡l² olarak i■letilmek istendi≡i zaman gerek duyulur. Ba■lang²τta makro penceresinde g÷rⁿntⁿlenmeyen Ko■ul sⁿtununu makro penceresine getirmek veya makro penceresinden kald²rmak iτin G÷rⁿnⁿm menⁿsⁿndeki Ko■ul komutundan yararla-n²l²r.
MsgBox() fonksiyonu d²■ar²dan ikisi seτimlik 3 parametre almaktad²r. ▌lk parametrede diyalog kutusunun iτine yaz²lacak mesaj belirtilmektedir. Say²sal bir de≡er iτerebilen ikinci parametre ile diyalog kutusunda bulunacak dⁿ≡meler ve mesajdan ÷nce yer alacak i■aret belirtilmektedir. E≡er MsgBox() fonksiyonuna 2. parametre olarak say²sal bir de≡er verilmezse ekrana getirile-cek diyalog kutusunda, yaln²zca diyalog kutusunu ekrandan kald²rmaya yarayan Tamam dⁿ≡mesi bulunur. Yukar²da verilen MsgBox() fonksiyonu ÷rne≡inde 2. parametre olarak 36 say²sal de≡eri kullan²ld².
2. parametre olarak kullan²lan 36 say²sal de≡eri, asl²nda 2 ayr² say²sal de≡erin toplam²ndan meydana gelmektedir. Bu iki say²sal de≡erden 1.Æsi mesajdan ÷nce kⁿτⁿk bir daire iτinde verilecek soru i■aretini temsil ederken, ikincisi diyalog kutusuna konulacak dⁿ≡meleri temsil etmektedir. TabloAτ eyle-mine ait sat²r²n Ko■ul sⁿtunu bu ■ekilde dⁿzenlenen Makro τal²■t²r²l²rsa ilk ba■ta Ko■ul sⁿtununa yaz²lan MsgBox() fonksiyonu i■letile-ce≡i iτin a■a≡²daki gibi bir diyalog kutusu ekrana gelir.
Yukar²da verilen MsgBox() fonksiyonunu kullanma ÷rne≡inde 2. para-metre olarak 36 say²sal de≡eri yerine 37(5+32) say²sal de≡eri kullan²lm²■ olun-sayd², diyalog kutusunda Yeniden Dene ve ▌ptal dⁿ≡meleri bulunurdu.
MsgBox() fonksiyonu parametre olarak ald²≡² bu de≡erlere ve ⁿzerine t²klanan dⁿ≡meye ba≡l² olarak de≡i■en bir say²sal de≡eri geriye d÷ndⁿrmektedir. Diyalog kutusu Evet dⁿ≡mesi ile kapat²ld²≡²nda MsgBox() fonksiyonu geriye 6 say²sal de≡erini d÷ndⁿrⁿr. Buna g÷re TabloAτ eylemin i■letilmesi MsgBox() fonksi-yonu ile ekran getirilen diyalog kutusunda Evet dⁿ≡mesine t²klanmas² ■art²na ba≡l²d²r. Ekrana gelen diyalog kutusunda Hay²r dⁿ≡mesinde t²klanmas² halinde MsgBox() fonksiyonu geriye 7 say²sal de≡erini d÷ndⁿrece≡inden belirtilen ko■ul gerτekle■mez ve makro penceresinde ayn² sat²rda yer alan TabloAτ eylemi i■letilmez.
|